<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            color: red;
        }
        
        .wrap {
            font-size: 30px;
        }
    </style>
</head>

<body>
    <div id="app">
        <h1 class="box wrap">大大的1</h1>
        <!-- class属性动态绑定样式，第一种使用数组方式(可以编写三元表达式) -->
        <p :class="['box',flag ? 'wrap':'']">段落标签1</p>
        <!-- 第二种使用对象方式 -->
        <p :class="{'box':flag,'wrap':false}">段落标签2</p>
        <!-- 第三种数组+对象 -->
        <p :class="obj">段落标签3</p>
        <!-- 第四种直接使用v-bind -->
        <p :class="flag ? 'box':'wrap'">段落标签4</p>
        <!-- 内联样式属性绑定 -->
        <p style="font-size: 25px;color: pink;">段落标签5</p>
        <!-- json对象绑定属性 -->
        <p :style="{'font-size':'20px','color':flag ? 'pink':'green'}">段落标签6</p>
        <!-- 使用数组+json对象 -->
        <p :style="[{'font-size':'30px','color':'orange'},{'fontWeight':'normal'}]">段落标签7</p>
    </div>
</body>

</html>
<script src="js/vue3.4.21.js"></script>
<script>
    const {
        createApp,
        ref
    } = Vue

    createApp({
        setup() {
            const flag = ref(true)
            const obj = ref([{
                'box': true
            }, {
                'wrap': false
            }])
            return {
                flag,
                obj
            }
        }
    }).mount('#app')
</script>